#ifndef __MARS_KERNAL_H__
#define __MARS_KERNAL_H__

namespace GP
{

class Kernal : public Object, public RefCountObject
{
public:
									Kernal( const char* pszKernalName );
	virtual							~Kernal();

	bool							Create() = 0;
	void							Destroy() = 0;

protected:
	std::string						m_strKernalName;
	bool							m_bCreated;
};

inline Kernal::Kernal( const char* pszKernalName )
	: m_strKernalName( pszKernalName )
	, m_bCreated( false )
{

}

inline Kernal::~Kernal()
{

}

} // end of namespace GP

#endif // end of #ifndef __MARS_KERNAL_H__